import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: ${USER}
 * Date: ${YEAR}-${MONTH}-${DAY}
 * Time: ${TIME}
 */
public class Main {
    public static User login() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的名字：");
        String name = scanner.nextLine();

        System.out.println("请输入你的身份：1. 管理员 2.普通用户");
        int choice = scanner.nextInt();
        if(choice == 1) {
            return new AdminUser(name);
        } else {
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        BookList bookList = new BookList();

        User user = login();

        while(true) {
            int choice = user.menu();
            //要根据这个返回值 来看 调用哪个对象的 哪个方法
            /**
             * 1. 哪个对象
             * User user = login(); -> return new AdminUser(name); 或 return new NormalUser(name);
             * 2. 哪个方法
             *  2.1 确定当前对象 已经包含了 哪种方法？
             *      在调用子类的时候，子类的构造方法会初始化好对应的操作方法
             *  2.2怎么具体实现：
             */
            user.operation(choice, bookList);
        }
    }
}